import gradio as gr

# 假设best_model是你的训练好的猫狗分类模型，这里只是示意
# 你需要用实际的模型加载代码替换这一行
# best_model = ... 

def predict_image(image):
    # 在这里，你需要将图像转换为模型可以接受的形式
    # 这通常涉及到图像的预处理，比如调整大小、归一化等
    # image = preprocess_image(image)
    
    # 使用模型进行预测
    # prediction = best_model.predict(image)
    
    # 为了演示，我们这里返回一个随机的预测结果
    prediction = np.random.randint(0, 2)
    return "Dog" if prediction == 1 else "Cat"

# 创建Gradio的界面
iface = gr.Interface(
fn=predict_image,
inputs=gr.inputs.Image(shape=(224, 224)),
outputs="label",
title="Cat vs Dog Classifier",
description="Upload an image to classify whether it's a cat or a dog."
)

# 运行Gradio应用
iface.launch()